A number of systems and solutions are offered on the market for the design of parts or assemblies of parts, such as the one provided by DASSAULT SYSTEMES under the trademark CATIA. These so-called computer-aided design (CAD) systems allow a user to construct, manipulate and view complex three-dimensional (3D) models of objects or assemblies of objects. CAD systems provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS).
These CAD systems manage parts or assemblies of parts as modeled objects, which are essentially specifications of geometry. Specifically, CAD files contain specifications, from which a geometry is generated, and from geometry a representation is generated. Specifications, geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of a Mega-byte for part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
There also exists product life cycle management (PLM) solutions, such as the one provided by DASSAULT SYSTEMES under the trademarks CATIA, ENOVIA and DELMIA; these solutions provide an engineering hub, which organizes product engineering knowledge, a manufacturing hub, which manages manufacturing engineering knowledge, and an enterprise hub which enables enterprise integrations and connections into both the engineering and manufacturing hubs. All together the systems deliver an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. A database is usually defined as a collection of data (typically data and relations between the data) organized for rapid search and retrieval. Databases are structured to facilitate storage, retrieval, modification, and deletion of data in conjunction with various data-processing operations. Databases generally consists of a file or set of files that can be broken down into records, each of which consist of one or more fields. Fields are the basic units of data storage. Users retrieve database information primarily through queries. Using keywords and sorting commands, users can rapidly search, rearrange, group, and select the field in many records to retrieve or create reports on particular aggregates of data according to the rules of the database management system being used.
One of the problems with PLM solutions is that the users of the system may wish to work on an object such as a part of a more complex product and thus has to select said desired part to edit it, modify it, view it, etc.
One solution to this problem relies on loading in the client computer memory the whole model corresponding to the assembly of said objects, including a three dimensional graphic representation of the model and all the information on said objects such as geometry, constraints . . . , but also hyperlinks to other objects. Thus, selection of individual parts is possible. However, owing to the typical size of a file representing a product in a CAD system (a product such as an airplane is likely to contain millions of parts), the rendering time of a view of said object may be cripplingly long. In addition, virtual camera is impossible, for similar reasons.
Solutions to limit the scope of the search exist.
A first method relies on volume queries. Here the user graphically defines a volume (a cube, a sphere . . . ), for example by drawing said volume directly via a user pointer or a dedicated interface. Then, according to the selected option (e.g. “included/intersected”), the query then retrieves from database all elements that are included in and/or intersected by the volume.
The second method uses proximity queries. Here the user enters a proximity value; the query then retrieves all elements in the database having a clearance corresponding to this value.
Nevertheless, those methods all require to first load the whole model which is, as seen above, time and resources consuming.
In addition, implementing such methods basically causes a large number of objects to be returned, which have to be subsequently filtered, possibly through several steps. Indeed, as-of-today products contain more and more parts. So, number of outputs for spatial or volume queries can be very large and not relevant. Furthermore, filtering the results is tedious, time consuming and requires know-how.
Such drawbacks are by-passed by a semantic approach, provided the user knows by heart complex filenames of the part or the like. Such a solution is obviously not tenable, all the more in the field of PLM, wherein millions of parts are likely to compose an object.
There is therefore a need for a solution allowing a user to rapidly select an object from a set of objects stored in a database, using a graphical representation of said objects.